package org.szy.plugin.sys.service;

import org.szy.core.common.service.BaseService;
import org.szy.plugin.sys.entity.SysMenu;
import org.szy.plugin.sys.entity.SysRoleMenu;

import java.util.List;

/**
 * 角色菜单关联表Service接口
 *
 * @author wangbuhao
 * @since 2023-06-26 20:06:27
 **/
public interface SysRoleMenuService extends BaseService<SysRoleMenu> {

    List<SysRoleMenu> listByRoleId(Long roleId);

    /**
     * 添加角色菜单关联数量
     */
    boolean add(SysRoleMenu entity);

    /**
     * 删除角色菜单关联数据
     *
     * @param roleId 角色标识
     * @return 删除结果
     */
    boolean removeByRolId(Long roleId);

    /**
     * 获取菜单列表根据用户Id
     *
     * @param userId 用户Id
     */
    List<SysMenu> listMenuByUserId(String userId);

    /**
     * 获取菜单列表根据角色标识，多个时以逗号隔开
     *
     * @param roleCodes 角色标识
     */
    List<SysMenu> listMenuByRoleCode(String roleCodes);
}
